package com.burst.reptile.common.utils.file;

import java.io.File;
import java.io.IOException;
import java.net.URL;

import javax.imageio.ImageIO;

import cn.hutool.core.img.ImgUtil;
import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.geometry.Positions;

/**
 * 图片工具 
 * @author wujin
 *
 * @date: 2020年7月10日 下午1:17:57
 */
public class ImgUtils extends ImgUtil{
	
	/**
	 * 添加图片水印
	 * @param srcImageFile 源图像文件
	 * @param destImageFile 目标图像文件
	 * @param pressImgFile 水印图像文件
	 */
	public static void myPressImage(String srcImageFile, String destImageFile, String pressImgFile) {
		try {
			Thumbnails.of(srcImageFile)   
			.size(1280, 1024)  
			.watermark(Positions.CENTER, ImageIO.read(new File(pressImgFile)), 0.1f)   
			.outputQuality(0.8f)   
			.toFile(destImageFile);
		} catch (IOException e) {
			e.printStackTrace();
		}  
	}
	
	/**
	 * 压缩图片
	 * @param url 图片url
	 * @param width 压缩的宽度
	 * @param height 压缩的高度
	 * @param destImageFile 目标文件
	 */
	public static void imgcompress(String url, int width, int height, String destImageFile){
		try {
			Thumbnails.of(new URL(url)).size(width, height).keepAspectRatio(false).toFile(destImageFile);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 压缩图片
	 * @param filePath 图片保存地址
	 * @param width 压缩的宽度
	 * @param height 压缩的高度
	 * @param destImageFile 目标文件
	 */
	public static void imgcompressloc(String filePath, int width, int height, String destImageFile){
		try {
			Thumbnails.of(filePath).size(width, height).keepAspectRatio(false).toFile(destImageFile);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
//		String url = "https://sxp-1259003793.cos.ap-chongqing.myqcloud.com/images/0310da15fbe74a32921626209b43a059.jpg";
//		try {
//			Thumbnails.of(new URL(url)).size(200, 135).keepAspectRatio(false).toFile("D:/upload/1/111.jpg");
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
		myPressImage("C:\\Users\\86178\\Desktop\\timg.jpg", "D:/upload/333333.jpg", "C:/Users/86178/Desktop/p6.png");
		
	}
}
